class Solution {
    public String minWindow(String s, String t) {
        int[] hash1=new int[59];
        int[] hash2=new int[59];
        char[] tt=t.toCharArray();
        char[] ss=s.toCharArray();
        int start=0;
        int flg=0;
        int len=Integer.MAX_VALUE;
        for (int i = 0; i < tt.length; i++) {
            char in=tt[i];
            hash1[in-65]++;

        }
        int right = 0,left=0;
        for (; right < ss.length; right++) {
            char in=ss[right];
            hash2[in-65]++;
            for (int i = 0; i < hash1.length; i++) {
                flg=0;
                if(hash1[i]!=hash2[i]){
                    flg=1;
                    break;
                }
            }
            while(flg==0){

               if(len>right-left+1){
                   len=right-left+1;
                   start=left;
               }
                char out=ss[left];
                left++;
                for (int i = 0; i < hash1.length; i++) {
                    flg=0;
                    if(hash1[i]!=hash2[i]){
                        flg=1;
                        break;
                    }
                }
            }
        }
        String str=s.substring(start,len);
        return str;

    }
}